Various industrial robots are becoming popular. Robots are utilized for screw fastening, welding, and painting to a work-piece, carriage of the work-piece, attachment and soldering of a part to the work-piece, etc. Such robots include, for example, a vertical multi-joint type moving unit, and a work tool is attached to the moving unit. A computer that executes a program controls the moving unit and the work tool. Under the control of the computer, the work tool is moved to and actuated at a predetermined point.
The program is described in a point-based robot language. This program includes a point sequence that has point statements arranged at each of a plurality of points on a work-piece. The point statement contains a point number as a head, point kind information, and point coordinate information. The point kind information is a so-called function identifier, and identifies an instruction sequence that defines control details such as work details to a point or a moving method. The point sequence is created by a point teaching designating and registering the position of a point, where a work is performed, on the work-piece.
The robot controls the moving unit and the work tool in accordance with the instruction sequence identified by the point kind information, moves the work tool toward a point indicated by the coordinate information, and executes a work at the point.
For example, in an application work applying an application material, the work tool when performing a main work, which is the application is a “needle”. In addition, auxiliary work tools, such as a “camera” that detects the position of a work-piece, and a “height sensor” that detects the height of the work-piece may be also utilized. In this case, when a plurality of work tools are attached to the common moving unit, the attachment position of each work tool differs. Hence, even if a work performed at the same point on the work-piece, when changing the work tool utilized, it is necessary for the moving unit to adjust the position of the work tool so as to be positioned at the same point.
The position of the work tool positioned relative to each point on the work-piece is called a Tool Center Point (TCP) of each work tool. When the work tool is changed, it is necessary to also change the TCP.
When a plurality of work tools is fastened to the common moving unit for a work, the relative positional relationship among the work tools does not change. Hence, the relative positional relationship of each work tool relative to the same point on the work-piece is determined beforehand. Accordingly, when point teaching is carried out, the relative positional relationship of each work tools is settable beforehand as a point attribute. Information indicating such relative positional relationship is called a “changeover TCP”. The robot changes the TCP of each work tool based on the changeover TCP set for each point when executing a program, thereby positioning the work tool relative to the point.
In the point teaching, however, when the number of points increases, it is necessary to designate point by point, what work tool is to be utilized, what work is to be executed, and what changeover TCP should be selected in accordance with the foregoing two conditions. Accordingly, a manipulation to designate the changeover TCP is complicated, and the possibility of error in designation increases.
The present invention has been proposed in order to address the above technical problems of conventional technologies, and an objective is to provide a robot which does not need an information setting to adjust the position of a work tool for each point, and which is capable of suppressing an error.